Mike Wray made this change because xend's callbacks were failing
with EROFS, because a transaction was going on. However, the
solution is to either block callbacks during transactions, or use
a different connection to the store.
We fail ex-transaction activity because it's not clear what the right
behaviour is: it allows deadlock if two people do it, and it implied
your transaction isn't rooted in the right place.
This hack caused the testsuite to fail (obviously), so as a result the
testsuite wasn't run very often. This caused it to bitrot.
Signed-off-by: Rusty Russel <rusty@rustcorp.com.au>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
}
node = canonicalize(conn, vec[0]);
- if (/*suppress error on write outside transaction*/ 0 &&
- !within_transaction(conn->transaction, node)) {
+ if (!within_transaction(conn->transaction, node)) {
send_error(conn, EROFS);
return;
}